package com.lxl.action;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;

import com.lxl.model.Post;
import com.lxl.model.Tieba;
import com.lxl.service.PostService;
import com.lxl.service.UserService;

/**
 * 用户_列出用户所有关注贴吧、所有帖子Action
 * 
 * @author 刘星鹭
 * @Email liuxinglumail@163.com
 * @version 创建时间： 2014年9月10日 上午9:04:49
 */
@Controller
@Transactional
public class ShowUsersTiebasAndPostsAction {
    @Resource
    UserService userService;// 注入用户Service
    @Resource
    PostService postService;// 注入用户Service
    private List<Tieba> tiebaList;// 贴吧列表
    private List<String> postNoList;// 帖子号列表
    private List<Post> postList;// 帖子号列表
    private String userName;// 用户名
    private String userPassword; // 用户密码
    private String userSex; // 用户性别
    private Date userBirthday = new Date(); // 用户生日

    /**
     * 调用本Action时执行本方法
     * 
     * @return 用于Action判断跳转方向的字符串
     */
    public String execute() {
        postList = new ArrayList<Post>();
        tiebaList = userService.listTiebas(userName);
        postNoList = userService.listPostNos(userName);
        Object temp;
        for (int i = 0; i < postNoList.size(); i++) {
            temp = postNoList.get(i);
            postList.add(postService.find(Integer.parseInt(temp.toString())));
        }
        return "success";
    }

    /**
     * 获得贴吧列表
     * 
     * @return 贴吧列表
     */
    public List<Tieba> getTiebaList() {
        return tiebaList;
    }

    /**
     * 设置贴吧列表
     * 
     * @param tiebaList
     *            贴吧列表
     */
    public void setTiebaList(List<Tieba> tiebaList) {
        this.tiebaList = tiebaList;
    }

    /**
     * 获得用户名
     * 
     * @return 用户名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置用户名
     * 
     * @param userName
     *            用户名
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 获得用户密码
     * 
     * @return 用户密码
     */
    public String getUserPassword() {
        return userPassword;
    }

    /**
     * 设置用户密码
     * 
     * @param userPassword
     */
    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    /**
     * 获得用户性别
     * 
     * @return 用户性别
     */
    public String getUserSex() {
        return userSex;
    }

    /**
     * 设置用户性别
     * 
     * @param userSex
     *            用户性别
     */
    public void setUserSex(String userSex) {
        this.userSex = userSex;
    }

    /**
     * 获得用户生日
     * 
     * @return 用户生日
     */
    public Date getUserBirthday() {
        return (Date) userBirthday.clone();
    }

    /**
     * 设置用户生日
     * 
     * @param userBirthday
     *            用户生日
     */
    public void setUserBirthday(Date userBirthday) {
        this.userBirthday = (Date) userBirthday.clone();
    }

    /**
     * 获得帖子列表
     * 
     * @return 帖子列表
     */
    public List<Post> getPostList() {
        return postList;
    }

    /**
     * 
     * 设置帖子列表
     * 
     * @param postList
     *            帖子列表
     */
    public void setPostList(List<Post> postList) {
        this.postList = postList;
    }

    /**
     * 获得帖子号列表
     * 
     * @return
     */
    public List<String> getPostNoList() {
        return postNoList;
    }

    /**
     * 
     * 设置帖子号列表
     * 
     * @param postNoList
     */
    public void setPostNoList(List<String> postNoList) {
        this.postNoList = postNoList;
    }
}
